/**
 * API接口统一管理
 */
import qs from 'qs';
import request from '@/utils/request.js'

/**
 * 用户相关接口
 */
export const userApi = {
	/**
	 * 用户登录
	 * @param {Object} params 登录参数
	 * @param {string} params.account 账号
	 * @param {string} params.password 密码
	 * @param {number} params.loginType 登录类型 1-业务员 2-司机
	 */
	login: (params) => {
		return request.post('/UserLogin', qs.stringify(params))
	},

	/**
	 * 修改密码
	 */
	getUserlist: (params) => {
		return request.post('/getUserlist', qs.stringify(params))
	}
}

/**
 * 物流管理相关接口
 */
export const logisticsApi = {
	/**
	 * 获取物流单列表
	 * @param {Object} params 查询参数
	 * @param {number} params.page 页码
	 * @param {number} params.pageSize 每页数量
	 * @param {string} params.status 状态
	 */
	getOrderList: (params) => {
		return request.post('/getDeliveryPlanManagementList', qs.stringify(params))
	},

	/**
	 * 修改送货计划排班
	 * @param {string|number} id 物流单ID
	 */
	putDeliveryPlan: (params) => {
		return request.post(`/putDeliveryPlanManagement`, qs.stringify(params))
	},

	/**
	 * 添加照片

		 addId // 登陆用户id
	   addName // 登陆用户名
	   fileContent  // 图片Base64码
	   fileName  // 图片名称
	   imgType  // 图片类型
	   mainId   // 送货单id
	 */
	addImageBase64: (params) => {
		return request.postJSON(`/addImageBase64File`, params)
	},
	
	// 获取照片
	getImageData: (id,params) => {
		return request.get(`/selectImageBase64Filebymainid/${id}`,params)
	},



}

/**
 * 充电站相关接口
 */
export const chargingApi = {
	/**
	 * 获取附近充电站列表
	 * @param {Object} params 查询参数
	 * @param {number} params.latitude 纬度
	 * @param {number} params.longitude 经度
	 * @param {number} params.radius 搜索半径(米)
	 */
	getNearbyStations: (params) => {
		return request.get('/api/charging/stations/nearby', params)
	},

	/**
	 * 搜索充电站
	 * @param {Object} params 搜索参数
	 * @param {string} params.keyword 关键词
	 * @param {number} params.page 页码
	 */
	searchStations: (params) => {
		return request.get('/api/charging/stations/search', params)
	},

	/**
	 * 获取充电站详情
	 * @param {string|number} id 充电站ID
	 */
	getStationDetail: (id) => {
		return request.get(`/api/charging/stations/${id}`)
	},

	/**
	 * 扫码充电
	 * @param {Object} data 充电数据
	 */
	startCharging: (data) => {
		return request.post('/api/charging/start', data)
	},

	/**
	 * 停止充电
	 * @param {string|number} chargingId 充电记录ID
	 */
	stopCharging: (chargingId) => {
		return request.post(`/api/charging/stop/${chargingId}`)
	},

	/**
	 * 获取充电记录
	 * @param {Object} params 查询参数
	 */
	getChargingRecords: (params) => {
		return request.get('/api/charging/records', params)
	}
}

/**
 * 通用接口
 */
export const commonApi = {
	/**
	 * 上传文件
	 * @param {string} filePath 文件路径
	 * @param {Object} formData 额外表单数据
	 */
	uploadFile: (filePath, formData = {}) => {
		return request.upload('/api/common/upload', filePath, formData)
	},

	/**
	 * 获取验证码
	 * @param {string} phone 手机号
	 */
	getVerificationCode: (phone) => {
		return request.post('/api/common/send-code', {
			phone
		})
	},

	/**
	 * 获取系统配置
	 */
	getSystemConfig: () => {
		return request.get('/api/common/config')
	}
}

export default {
	userApi,
	logisticsApi,
	chargingApi,
	commonApi
}